import { fetchGeneralDataAPI } from '@/apis/fetchGeneralData'

export const useGeneralDataStore = defineStore(
  'generalData',
  () => {
    const generalData = ref<GeneralData | null>(null)

    const setGeneralData = (newVal: GeneralData | null) => {
      generalData.value = newVal
    }

    const update = async () => {
      const generalDataRes = await fetchGeneralDataAPI()

      if (generalDataRes.data?.code === 1)
        setGeneralData(generalDataRes.data.data)
      else
        uni.showToast({ title: generalDataRes.data?.msg, icon: 'none' })
    }

    const $reset = () => setGeneralData(null)

    return { generalData, setGeneralData, update, $reset }
  },
)
